package com.ynet.middleground.user.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @description: CFCA证书查询信息传输类
 * @author: Wangxz
 * @create: 2019-11-05 16:37
 **/
@Data
@ApiModel(value = "CFCA证书查询信息", description = "CFCA证书查询信息")
public class CertQueryDto implements Serializable {
    private static final long serialVersionUID = 1367029806588525199L;
    /**
     * CA名称
     */
    @ApiModelProperty(value = "CA名称", notes = "CA名称")
    private String caName;

    /**
     * 证书类型标识（复合证书证书类型用'-'连接，其中1：签名单证，2：双证，3-加密单证）：
     * 1:普通证书
     * 2:高级证书
     * 1-1:签名单证-签名单证
     * 1-2:签名单证-双证
     * 1-3:签名单证-加密单证
     * 2-1：双证-签名单证
     * 2-2：双证-双证
     * 2-3：双证-加密单证
     * 3-1：加密单证-签名单证
     * 3-2：加密单证-双证
     * 3-3：加密单证-加密单证
     */
    @ApiModelProperty(value = "证书类型标识(复合证书证书类型用'-'连接，其中1：签名单证，2：双证，3-加密单证)", notes = "证书类型标识(复合证书证书类型用'-'连接，其中1：签名单证，2：双证，3-加密单证)")
    private String certType;

    /**
     * 客户类型：
     * 个人-1
     * 企业-2
     * 服务器-3
     * 设备证书-6
     */
    @ApiModelProperty(value = "客户类型：个人-1,企业-2，服务器-3,设备证书-6", notes = "客户类型：个人-1,企业-2，服务器-3,设备证书-6")
    private String customerType;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名", notes = "用户名")
    private String userName;

    /**
     * 用户别名
     */
    @ApiModelProperty(value = "用户别名", notes = "用户别名")
    private String userNameInDn;

    /**
     * 用户标识
     */
    @ApiModelProperty(value = "用户标识", notes = "用户标识")
    private String userIdent;

    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型", notes = "证件类型")
    private String identType;

    /**
     * 证件号码
     */
    @ApiModelProperty(value = "证件号码", notes = "证件号码")
    private String identNo;

    /**
     * 证书DN
     */
    @ApiModelProperty(value = "证书DN", notes = "证书DN")
    private String dn;

    /**
     * 证书序号
     */
    @ApiModelProperty(value = "证书序号", notes = "证书序号")
    private String sequenceNo;

    /**
     * 序列号
     */
    @ApiModelProperty(value = "序列号", notes = "序列号")
    private String serialNo;

    /**
     * 证书状态
     */
    @ApiModelProperty(value = "证书状态", notes = "证书状态")
    private String certStatus;

    /**
     * 有效期
     */
    @ApiModelProperty(value = "有效期", notes = "有效期")
    private String duration;

    /**
     * 申请时间 格式：yyyyMMddHHmmss
     */
    @ApiModelProperty(value = "申请时间 格式：yyyyMMddHHmmss", notes = "申请时间 格式：yyyyMMddHHmmss")
    private String applyTime;

    /**
     * 两码发送时间 格式：yyyyMMddHHmmss
     */
    @ApiModelProperty(value = "两码发送时间 格式：yyyyMMddHHmmss", notes = "两码发送时间 格式：yyyyMMddHHmmss")
    private String sendcodeTime;

    /**
     * 有效期起始时间 格式：yyyyMMddHHmmss
     */
    @ApiModelProperty(value = "有效期起始时间 格式：yyyyMMddHHmmss", notes = "有效期起始时间 格式：yyyyMMddHHmmss")
    private String startTime;

    /**
     * 有效期截止时间自 格式：yyyyMMddHHmmss
     */
    @ApiModelProperty(value = "有效期截止时间自 格式：yyyyMMddHHmmss", notes = "有效期截止时间自 格式：yyyyMMddHHmmss")
    private String endTime;

    /**
     * 吊销时间 格式：yyyyMMddHHmmss
     */
    @ApiModelProperty(value = "吊销时间 格式：yyyyMMddHHmmss", notes = "吊销时间 格式：yyyyMMddHHmmss")
    private String revokeTime;

    /**
     * 证书所属机构编码，逗号分隔
     */
    @ApiModelProperty(value = "证书所属机构编码，逗号分隔", notes = "证书所属机构编码，逗号分隔")
    private String branchCode;

    /**
     * 密钥算法
     */
    @ApiModelProperty(value = "密钥算法", notes = "密钥算法")
    private String keyAlg;

    /**
     * 密钥长度
     */
    @ApiModelProperty(value = "密钥长度", notes = "密钥长度")
    private String keyLength;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱", notes = "邮箱")
    private String email;

    /**
     * 电话号码
     */
    @ApiModelProperty(value = "电话号码", notes = "电话号码")
    private String phoneNo;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址", notes = "地址")
    private String address;

    /**
     * 域名/ip
     */
    @ApiModelProperty(value = "域名/ip", notes = "域名/ip")
    private String domainName;
}
